package modelo;
// default package
// Generated 13/10/2014 21:10:55 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Menu generated by hbm2java
 */
@Entity
@Table(name = "menu", catalog = "eventos_compartidos")
public class Menu implements java.io.Serializable {

	private static final long serialVersionUID = 7030304290821769143L;
	@Id
	@GeneratedValue(strategy = IDENTITY)
	private Integer idMenu;
	private Tipomenu tipomenu;
	private Salon salon;
	private float precio;
	private Clasificacionmenu clasificacionmenu;
	private String nombre;
	private String descripcion;
	private String preparacion;
	private byte[] imagen;
	private Set<Menuxpresupuesto> menuxpresupuestos = new HashSet<Menuxpresupuesto>(
			0);
	private Set<Detallemenu> detallemenus = new HashSet<Detallemenu>(0);

	public Menu() {
	}

	public Menu(Tipomenu tipomenu, Salon salon,
			Clasificacionmenu clasificacionmenu, String nombre, float precio,
			String descripcion) {
		this.tipomenu = tipomenu;
		this.salon = salon;
		this.clasificacionmenu = clasificacionmenu;
		this.nombre = nombre;
		this.precio = precio;
		this.descripcion = descripcion;
	}

	public Menu(Tipomenu tipomenu, Salon salon,
			Clasificacionmenu clasificacionmenu, String nombre, float precio,
			String descripcion, String preparacion, byte[] imagen,
			Set<Menuxpresupuesto> menuxpresupuestos,
			Set<Detallemenu> detallemenus) {
		this.tipomenu = tipomenu;
		this.salon = salon;
		this.clasificacionmenu = clasificacionmenu;
		this.nombre = nombre;
		this.precio = precio;
		this.descripcion = descripcion;
		this.preparacion = preparacion;
		this.imagen = imagen;
		this.menuxpresupuestos = menuxpresupuestos;
		this.detallemenus = detallemenus;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idMenu", unique = true, nullable = false)
	public Integer getIdMenu() {
		return this.idMenu;
	}

	public void setIdMenu(Integer idMenu) {
		this.idMenu = idMenu;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "idTipo", nullable = false)
	public Tipomenu getTipomenu() {
		return this.tipomenu;
	}

	public void setTipomenu(Tipomenu tipomenu) {
		this.tipomenu = tipomenu;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idSalon", nullable = false)
	public Salon getSalon() {
		return this.salon;
	}

	public void setSalon(Salon salon) {
		this.salon = salon;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "idClasificacion", nullable = false)
	public Clasificacionmenu getClasificacionmenu() {
		return this.clasificacionmenu;
	}

	public void setClasificacionmenu(Clasificacionmenu clasificacionmenu) {
		this.clasificacionmenu = clasificacionmenu;
	}

	@Column(name = "nombre", nullable = false, length = 100)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "descripcion", nullable = false, length = 1000)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "preparacion", length = 10000)
	public String getPreparacion() {
		return this.preparacion;
	}

	public void setPreparacion(String preparacion) {
		this.preparacion = preparacion;
	}

	@Column(name = "imagen")
	public byte[] getImagen() {
		return this.imagen;
	}

	public void setImagen(byte[] imagen) {
		this.imagen = imagen;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "menu")
	public Set<Menuxpresupuesto> getMenuxpresupuestos() {
		return this.menuxpresupuestos;
	}

	public void setMenuxpresupuestos(Set<Menuxpresupuesto> menuxpresupuestos) {
		this.menuxpresupuestos = menuxpresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "menu")
	public Set<Detallemenu> getDetallemenus() {
		return this.detallemenus;
	}

	public void setDetallemenus(Set<Detallemenu> detallemenus) {
		this.detallemenus = detallemenus;
	}

	public float getPrecio() {
		return precio;
	}

	public void setPrecio(float precio) {
		this.precio = precio;
	}

}
